// Tiger NET - CSharp Wrapper  ---------------------------------------------
//                                                                     	    
// @FileName  : java.lang.Object.cs                          	    
// @Version   : Cordys Integrator 4.2 Build 35                                     
// @Author    : Tiger CodeGenerator                                         
// @BuildInfo : csc java.lang.Object.cs                           
//                                                                          
// Warning: This is generated code. Do not update it manually!!             
//                                                                          
// Generated by: Cordys Integrator Code Generation Engine at 18 October 2004 - 02:08:59 IST      
// 	Cordys Integrator 4.2 Build 35                                                   
//                                                                          
// -------------------------------------------------------------------------
                                                                            
using System;                                                               
using System.Runtime.InteropServices;                                       
using System.ComponentModel;                                                
using TigerNET;                                                             
using COMJAVALib;                                                           
			 	                                                            
namespace java.lang
{   
   /// <summary>                           
   /// Summary description for	java.lang.Object 	
   /// </summary>                          
    public class Object
    {   
        private static comJavaJvmClass  m_JVM;  
        private IJavaObjectProxy m_THIS; 
        								
        								
								
								
		// Non-deterministic ( Garbage Collected ) Destructor
		//											
		~Object()	
		{											
			if (m_THIS != null)						
			{										
													
				Marshal.ReleaseComObject((object)m_THIS); 
													
			}										
			m_THIS  = null;							
		}											
													
													
		// Deletes Java Objects & release memory	
		//											
		public void Destroy()						
		{											
			if (m_THIS != null)						
			{										
													
				Marshal.ReleaseComObject((object)m_THIS); 
													
			 }										
			m_THIS  = null;							
		}											
												  

		// Special Constructor which enables other	
		// objects to return this object			
		//											
		public Object( comJavaJvmClass p_JVM, IJavaObjectProxy p_THIS )	
		{											
			m_JVM  = p_JVM;							
			m_THIS = p_THIS;						
		}											
													
    											  

		public Object()
		{											
			m_JVM = JVMInit.CreateJvm();			
													
			object[] l_aobjArgs = new System.Object[]
			{										
			};										
													
			object   l_objThis  = m_JVM.newJavaObject(  "java.lang.Object", ref l_aobjArgs );	
			m_THIS  = ( IJavaObjectProxy )l_objThis;
		}											
													
								
													
		public IJavaObjectProxy THIS				
		{											
			get								 		
			{										
				return m_THIS;						
			}										
			set										
			{										
				m_THIS =value;						
			}										
		}											
													
													
		public static Object	TypeCast(object  castObject)					
		{											
		 try										
		 	{										
		 	 if(castObject != null)					
			  {										
				return (new	Object(JVMInit.CreateJvm(),(IJavaObjectProxy)castObject))	;
			 }										
			 else									
			 {										
				throw (new System.Exception ("object is null [Trying to TypeCast a null object] "));
			 }										
		   }										
		 catch(System.Exception ex)					
		 {											
		   throw ex;								
		 }											
		}											
													
    									

		public	int	hashCode()
		{   											
			// invoke the corresponding java method		
			try									    	
			{   										
				object[] l_aobjArgs = new System.Object[]
				{  									    

				}; 									 
														 
				object l_objTemp = m_THIS.invokeJavaMethod( "hashCode", ref l_aobjArgs );    
															
				return  (int)  l_objTemp;
			}   
			catch( COMException ce )
			{   
				throw ce;
			}   
		}   
				


		public	java.lang.Class	getClass()
		{   											
			// invoke the corresponding java method		
			try									    	
			{   										
				object[] l_aobjArgs = new System.Object[]
				{  									    

				}; 									 
														 
				object l_objTemp = m_THIS.invokeJavaMethod( "getClass", ref l_aobjArgs );    
															
				if (l_objTemp == null)							 
					return  null;								 
				else											 
					return  ( new java.lang.Class(m_JVM,(IJavaObjectProxy)l_objTemp));
			}   
			catch( COMException ce )
			{   
				throw ce;
			}   
		}   
				


		public	void	wait()
		{   											
			// invoke the corresponding java method		
			try									    	
			{   										
				object[] l_aobjArgs = new System.Object[]
				{  									    

				}; 									 
														 
				m_THIS.invokeJavaMethod( "wait", ref l_aobjArgs );    
														
			}   
			catch( COMException ce )
			{   
				throw ce;
			}   
		}   
				


		public	void	wait(long p_arg0 )
		{   											
			// invoke the corresponding java method		
			try									    	
			{   										
				object[] l_aobjArgs = new System.Object[]
				{  									    
					p_arg0
				}; 									 
														 
				m_THIS.invokeJavaMethod( "wait", ref l_aobjArgs );    
														
			}   
			catch( COMException ce )
			{   
				throw ce;
			}   
		}   
				


		public	void	wait(long p_arg0 ,	int p_arg1 )
		{   											
			// invoke the corresponding java method		
			try									    	
			{   										
				object[] l_aobjArgs = new System.Object[]
				{  									    
					p_arg0, 										
					p_arg1
				}; 									 
														 
				m_THIS.invokeJavaMethod( "wait", ref l_aobjArgs );    
														
			}   
			catch( COMException ce )
			{   
				throw ce;
			}   
		}   
				


		public	bool	equals(java.lang.Object p_arg0 )
		{   											
			// invoke the corresponding java method		
			try									    	
			{   										
				object[] l_aobjArgs = new System.Object[]
				{  									    
					p_arg0.THIS
				}; 									 
														 
				object l_objTemp = m_THIS.invokeJavaMethod( "equals", ref l_aobjArgs );    
															
				return  (bool)  l_objTemp;
			}   
			catch( COMException ce )
			{   
				throw ce;
			}   
		}   
				


		public	void	notify()
		{   											
			// invoke the corresponding java method		
			try									    	
			{   										
				object[] l_aobjArgs = new System.Object[]
				{  									    

				}; 									 
														 
				m_THIS.invokeJavaMethod( "notify", ref l_aobjArgs );    
														
			}   
			catch( COMException ce )
			{   
				throw ce;
			}   
		}   
				


		public	void	notifyAll()
		{   											
			// invoke the corresponding java method		
			try									    	
			{   										
				object[] l_aobjArgs = new System.Object[]
				{  									    

				}; 									 
														 
				m_THIS.invokeJavaMethod( "notifyAll", ref l_aobjArgs );    
														
			}   
			catch( COMException ce )
			{   
				throw ce;
			}   
		}   
				


		public	string	toString()
		{   											
			// invoke the corresponding java method		
			try									    	
			{   										
				object[] l_aobjArgs = new System.Object[]
				{  									    

				}; 									 
														 
				object l_objTemp = m_THIS.invokeJavaMethod( "toString", ref l_aobjArgs );    
															
				return  (string)  l_objTemp;
			}   
			catch( COMException ce )
			{   
				throw ce;
			}   
		}   
				


		
    }    // end of	java.lang.Object	 class

}    // end of namespace